Users of computing devices and associated applications often desire to print specific documents or other application content. In an example user experience, an owner of a computer running a particular operating system purchases a printer, and then installs a version of a printer driver associated with the user's operating system onto the computer. In other example scenarios, a printer (i.e., associated printer driver) may be installed in the context of a network. In the latter scenario(s), it is possible to share the installed printer among multiple network users. For example, a local computer executing an application, operating system, and printer driver, may print from the application to a remote printer, using an intermediary print server. Somewhat similarly, an application may execute on a remote device, and the operating system and printer driver may be installed on the remote device, as well. Then, a user may experience or use the remotely-executing application at a local computer (e.g., in a remote desktop or other virtual computing environment), and may print to a local or remote printer which receives commands from the remotely-installed printer driver.
In many cases, a user may not be co-located with a desired printer at a time of identifying a document to be printed. For example, in the network printing example(s) above, a user at a network workstation may wish to print to a printer which is located on a different floor, or in a different building. In these and other scenarios, it may occur that a user wishes to initiate the actual printing of the document while the user is present at the identified printer. For example, the user may wish to maintain a confidentiality of the printed document, and may therefore wish to initiate the printing while present at the printer, so as to avoid an availability of the printed document at the printer while the user is in transit from the workstation to the printer (during which time unauthorized users may inadvertently or illicitly view or obtain the printed document).
Thus, for these and other reasons, printing techniques have been developed which enable a user to designate printing of a document at a first time (e.g., when the user is present at the workstation), without initiating actual printing of the document until a second, later time (e.g., when the user is present at the relevant printer). More specifically, for example, the user may send a print job for a given document to be temporarily stored remotely (e.g., at a network print server). Then, once the user has travelled from the workstation to the relevant printer, the user may interact with the relevant printer to initiate the printing of the document at the relevant printer. For example, the user may utilize input/output hardware and/or software at the relevant printer to fetch and otherwise initiate and execute the print job. In this way, the user may be assured of being present at the printer at the time of printing of the document. In particular, with respect to a need for maintaining a confidentiality of the document to be printed, the hardware/software of the printer may include authentication functionalities for authenticating the user before initiating the printing of the document, so as to thereby further protect the confidentiality of content of the printed document.
Notwithstanding the features and associated advantages of the above (and related/similar) printing techniques, users may further benefit from additional or alternative techniques for enabling enhanced flexibility, convenience, and confidentiality in printing scenarios in which a relevant printer is not co-located with a user/device which originates a given print job.